<?php

namespace app\modules\admin\models;

use Yii;
use yii\behaviors\TimestampBehavior;

/**
 * This is the model class for table "member_card".
 *
 * @property string $id ID
 * @property string $identifier 标识符
 * @property string $title 卡券名
 * @property string $card_id card_id
 * @property int $created_at 创建时间戳
 * @property int $updated_at 修改时间戳
 */
class MemberCard extends \yii\db\ActiveRecord
{
    public $logo_url; // 卡券的商户logo

    public $code_type; // Code展示类型

    public $brand_name; // 商户名字,字数上限为12个汉字

    public $color; // 券颜色

    public $notice; // 卡券使用提醒，字数上限为16个汉字

    public $description; // 卡券使用说明，字数上限为1024个汉字

    public $prerogative; // 会员卡特权说明,限制1024汉字

    public $supply_bonus = 2; // 显示积分

    public $supply_balance = 1; // 开通储值功能

    public $wx_activate = 2; // 激活会员卡

    public $wx_activate_after_submit = 2; // 是否设置跳转型一键激活

    public $wx_activate_after_submit_url; // 用户提交信息后跳转的网页

    public $quantity; // 卡券库存的数量

    public $total_quantity; // 卡券库存的总量

    public $type = 'DATE_TYPE_PERMANENT'; // 永久有效类型

    public $use_all_locations = 2; // 会员卡是否支持全部门店

    public $get_limit = 1; // 每人可领券的数量限制，建议会员卡每人限领一张

    public $is_swipe_card = 2; // 是否设置该会员卡支持拉出微信支付刷卡界面

    public $is_pay_and_qrcode = 2; // 是否设置该会员卡中部的按钮同时支持微信支付刷卡和会员卡二维码

    public $cost_money_unit; // 消费金额,以分为单位
    
    public $increase_bonus; // 对应增加的积分

    public $max_increase_bonus; // 用户单次可获取的积分上限

    public $init_increase_bonus; // 初始设置积分

    public $cost_bonus_unit; // 每使用多少积分

    public $reduce_money; // 抵扣xx元，（这里以分为单位）

    public $least_money_to_use_bonus; // 抵扣条件，满xx元（这里以分为单位）可用

    public $max_reduce_bonus; // 抵扣条件，单笔最多使用xx积分

    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'wx_member_card';
    }

    public function behaviors()
    {
        return [
            TimestampBehavior::className(),
        ];
    }

    /**
     * @inheritdoc
     */ 
    public function rules()
    {
        return [
            [['identifier', 'title', 'created_at', 'logo_url', 'code_type', 'brand_name', 'color', 'notice', 'description', 'prerogative', 'wx_activate_after_submit_url', 'quantity', 'cost_money_unit', 'increase_bonus', 'max_increase_bonus', 'init_increase_bonus', 'cost_bonus_unit', 'reduce_money', 'least_money_to_use_bonus', 'max_reduce_bonus'], 'required'],
            [['created_at', 'updated_at', 'quantity', 'cost_money_unit', 'increase_bonus', 'max_increase_bonus', 'init_increase_bonus', 'cost_bonus_unit', 'reduce_money', 'least_money_to_use_bonus', 'max_reduce_bonus'], 'integer'],
            [['brand_name'], 'string', 'max' => 12],
            [['notice'], 'string', 'max' => 16],
            [['identifier', 'title', 'card_id'], 'string', 'max' => 255],
            [['description', 'prerogative'], 'string', 'max' => 1024],
            [['quantity'], 'integer', 'max' => 100000000],
            [['card_id'], 'unique'],
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'identifier' => '标识符',
            'title' => '卡券名',
            'card_id' => 'Card ID',
            'created_at' => 'Created At',
            'updated_at' => 'Updated At',
            // publc attributes
            'logo_url' => '卡券的商户logo',
            'code_type' => '会员卡展示类型',
            'brand_name' => '商户名字',
            'color' => '券颜色',
            'notice' => '卡券使用提醒',
            'description' => '卡券使用说明',
            'prerogative' => '会员卡特权说明',
            'supply_bonus' => '显示积分',
            'supply_balance' => '开通储值功能',
            'wx_activate' => '激活会员卡',
            'wx_activate_after_submit' => '是否设置跳转型一键激活',
            'wx_activate_after_submit_url' => '用户提交信息后跳转的网页',
            'quantity' => '卡券库存',
            'total_quantity' => '库存总量',
            'type' => '有效类型',
            'use_all_locations' => '支持全部门店',
            'get_limit' => '可领券的数量限制',
            'is_swipe_card' => '会员卡支持拉出微信支付刷卡界面',
            'is_pay_and_qrcode' => '同时支持微信支付刷卡和会员卡二维码',
            // bonus
            'cost_money_unit' => '消费金额(以分为单位)',
            'increase_bonus' => '对应增加的积分',
            'max_increase_bonus' => '用户单次可获取的积分上限',
            'init_increase_bonus' => '初始设置积分', 
            'cost_bonus_unit' => '每使用多少积分', 
            'reduce_money' => '抵扣金额(以分为单位)', 
            'least_money_to_use_bonus' => '抵扣条件，满xx元(以分为单位)可用', 
            'max_reduce_bonus' => '抵扣条件，单笔最多使用xx积分',
        ];
    }
}
